Dynamical method for obtaining global optimal solution of general nonlinear programming problems

ABSTRACT

A method for obtaining a global optimal solution of general nonlinear programming problems includes the steps of first finding, in a deterministic manner, all stable equilibrium points of a nonlinear dynamical system that satisfies conditions (C1) and (C2), and then finding from said points a global optimal solution. A practical numerical method for reliably computing a dynamical decomposition point for large-scale systems comprises the steps of moving along a search path φ t (x s )≡{x s +t×ŝ, tε   + } starting from x s  and detecting an exit point, x ex , at which the search path φ t (x s ) exits a stability boundary of a stable equilibrium point x s  using the exit point X ex  as an initial condition and integrating a nonlinear system to an equilibrium point X d , and computing said dynamical decomposition point with respect to a local optimal solution x s  wherein the search direction ŝ is e x d .

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The invention pertains to the field of mathematical analysis and modeling. More particularly, the invention pertains to a dynamical method for obtaining a global optimal solution of general nonlinear programming problems.

[0003] 2. Description of Related Art

[0004] A large variety of the quantitative decision issues arising in the sciences, engineering, and economics can be perceived and modeled as constrained nonlinear optimization problems. According to this generic description, the best decision, often expressed by a real vector, is sought in the search space which satisfies all stated feasibility constraints and minimizes (or maximizes) the value of an objective function. The vector, if it exists, is termed the “global optimal solution.” In general, there are solutions that are locally optimal (a local optimal solution is optimal in a local region of the search space) but not globally optimal.

[0005] In general, the search space of a constrained nonlinear optimization problem contains a number of local optimal solutions. Typically, the number of local optimal solutions is unknown and it can be quite large. Furthermore, the values of an objective function at local optimal solutions and at the global optimal solution may differ significantly. The great majority of existing nonlinear optimization techniques usually come up with local optimal solutions but not the global optimal one.

[0006] The task of finding the global optimal solution of constrained nonlinear optimization problems is important for a very broad range of applications in the design, operation, and planning problems arising in various engineering disciplines and the sciences. Engineering application areas include, for example, structural optimization, engineering design, VLSI chip design and database problems, image processing, computational chemistry, molecular biology, nuclear and mechanical design, chemical engineering design and control, optimal power flow in electric networks, economies of scale, fixed charges, allocation and location problems, and quadratic assignment, as well as numerous other applications.

[0007] The problem of finding the global optimal solution, termed the Global Optimization (GO) problem is very difficult and challenging. From the computational complexity point of view, the task of finding the global optimal solution of constrained nonlinear optimization problems belongs to the class of NP-hard problems. This implies that the computational time required to solve the problem is expected to grow exponentially as the input size of the problem increases.

[0008] Existing methods proposed for solving the GO problem can be categorized into three classes: deterministic methods, stochastic methods, and hybrid methods. Deterministic methods typically provide mathematical guarantees for convergence to an approximate global minimum in finite steps for optimization problems involving certain mathematical structures. This class of methods includes the branch and bound methods, cutting planes, decomposition-based approaches, covering methods, interval methods, homotopy methods, and generalized gradient methods. On the other hand, stochastic methods require sampling the objective functions and perhaps computing their derivatives to find the global optimal solution. They are applicable to a wide range of GO problems; however, the required number of samples necessary to arrive at the global optimal solution is often prohibitive for high-dimension problems. The class of stochastic methods is characterized by a slow convergence and a lack of accuracy when an exact global optimal solution is required. Random search methods, genetic algorithms, simulated annealing, clustering methods, and Bayesian methods all belong to the class of stochastic methods. Hybrid methods for GO problems is a recently proposed class; this class of methods usually, if not always, combines one stochastic method, for example, the genetic algorithms, with one classical ‘hill-climbing’ method, such as the Quasi-Newton method. The idea of combining two different methods into one in order to attempt to merge their advantages and to reduce their disadvantages is well known. The question associated with this combination is what methods to merge and how to merge them. This class of hybrid methods suffers from a slow convergence, inherited from the stochastic method, but it improves the problem of accuracy with the help of a ‘hill-climbing’ method.

[0009] The only reliable way to find the global optimal solution of a nonlinear optimization problem is to first find all the local optimal solutions and then find, from them, the global optimal solution. In the present invention, we develop a new systematic methodology, which is deterministic in nature, to find all the local optimal solutions of both unconstrained and constrained nonlinear optimization problems. Two classes of global optimization methodology are developed in this invention:

[0010] a dynamical trajectory-based methodology for unconstrained nonlinear programming problems; and

[0011] a dynamical trajectory-based methodology for constrained nonlinear programming problems.

[0012] For unconstrained nonlinear optimization problems, one distinguishing feature of the new methodology is that it systematically finds all the local optimal solutions. For constrained nonlinear optimization problems, one distinguishing feature of the new methodology of the present invention is that it systematically finds all the local optimal solutions of constrained nonlinear optimization problems whose feasible regions can be disconnected. Our developed methodology consists of two distinct phases: Phase I systematically locates each connected feasible region of the entire feasible region. Phase II then finds all the local optimal solutions lying in each feasible region obtained in Phase I.

[0013] In the present invention, methods are developed for the following two important issues in the search for the global optimal solution:

[0014] (i) how to effectively move (escape) from a local optimal solution and move on toward another local optimal solution; and

[0015] (ii) how to avoid revisiting local optimal solutions which are already known.

[0016] In the past, significant efforts have been directed towards attempting to address this issue, but without much success. Issue (i) is difficult to solve and both the class of deterministic methods and the class of stochastic methods all encounter this difficulty. Issue (ii), related to computational efficiency during search, is also difficult to solve and, again, both the class of deterministic methods and the class of stochastic methods encounter this difficulty. In the present invention, effective methods to overcome these issues are developed and incorporated into the dynamical trajectory-based methodology.

[0017] Our previous work related to unconstrained global optimization problems is described in H. D. Chiang, Chia-Chi Chu, A Systematic Search Method for Obtaining Multiple Local Optimal Solutions of Nonlinear Programming Problems, IEEE Trans. Circuits and Systems, vol. 43, pp. 99-109, 1996, the complete disclosure of which is hereby incorporated herein by reference. This work focused on the idea of constructing a particular nonlinear dynamical system and on the development of conceptual methods that are rich in theory, but are difficult, if not impossible, to implement numerically for practical applications. This work was extended to constrained global optimization problems in Jaewook Lee, Path-following methods for global optimization, Ph.D. dissertation, Cornell Univ., NY, 1999, the complete disclosure of which is hereby incorporated herein by reference. Among other things, this publication presents construction of two particular nonlinear dynamical systems for performing a two-phase optimization procedure, which is again rich in theory but difficult, if not impossible, to implement numerically for practical applications. The idea of constructing a nonlinear dynamical system was employed to develop constructive homotopy methods for finding all or multiple DC operating points of non-linear circuits and systems in U.S. Pat. No. 5,483,462, On-line Method for Determining Power System Transient Stability, issued to Hsiao-Dong Chiang on Jan. 9, 1996, the complete disclosure of which is hereby incorporated herein by reference.

[0018] This invention differs from the prior art in the following aspects (as well as others):

[0019] (1) this invention develops a class of nonlinear dynamical systems (see conditions (C1) and (C2) for unconstrained optimization problems and conditions (C1-1), (C1-2), (C2-1) and (C2-2) for constrained optimization problems) and shows that their system trajectories can be exploited to develop numerical methods for finding a complete set of local optimal solutions and the global optimal solution

[0020] (2) the particular nonlinear dynamical systems in the aforementioned publications all belong to the class of nonlinear dynamical systems developed in this invention

[0021] (3) this invention develops a dynamical trajectory-based method which can incorporate any existing local optimizer (i.e., a method for finding a local optimal solution) into it, hence, this invention can be applied to guide any existing computer package to find a complete set of local optimal solutions and the global optimal solution

[0022] (4) this invention can be programmed to interface with any existing computer package without the need to modify the ‘environment’ of the existing computer package (which include the graphical user interface data base) to find a complete set of local optimal solutions and the global optimal solution, and, in particular, this invention imposes no new learning curve for the user in the combined computer package

[0023] 5) this invention develops a numerical method, termed dynamical decomposition point search method, for guiding the search process to escape from trapping at a local optimal solution in a deterministic manner

[0024] 6) this invention extends a previous patented method to develop a numerical method, termed a numerical method for computing the exit point, which is incorporated into the dynamical decomposition point search method

[0025] 7) this invention develops a numerical method, termed an improved method for computing the exit point, which is incorporated into the dynamical decomposition point search method

[0026] 8) this invention develops a numerical method, termed a numerical method for computing the minimum distance point (MDP), which is incorporated into the dynamical decomposition point search method

[0027] 9) this invention develops a numerical method, termed an improved method for computing the minimum distance point (MDP), which is incorporated into the dynamical decomposition point search method

[0028] 10) this invention develops a hybrid search method, which is composed of a trajectory-based method and an effective local optimization method for finding local optimal solutions. The hybrid method shares the reliability and accuracy of the former method and the accuracy and computational speed of the latter

[0029] The theoretical basis of these methods is described as follows.

[0030] We treat the problem of how to escape from a local optimal solution and to move on toward another local optimal solution as the problem of how to escape from the stability region of the corresponding (asymptotically) stable equilibrium point (s.e.p.) of a nonlinear dynamical system satisfying certain conditions and enter into the stability region of another corresponding s.e.p. of the nonlinear dynamical system. There are several ways to construct nonlinear dynamical system satisfying the required conditions. The present invention presents guidelines for constructing such nonlinear dynamical systems.

[0031] One common problem which degrades the performance of many existing methods searching for the global optimal solution is the re-visitation of the same local optimal solutions several times; this wastes computing resources without gaining new information regarding the location of the global optimal solution. From the computational viewpoint, it is important to avoid revisiting the same local optimal solution in order to maintain a level of efficiency. To address issue (ii), we develop in this invention an anti-revisiting search method for both unconstrained and constrained optimization problems. The theoretical basis of the anti-revisiting search method rests on the dynamical decomposition points developed in this invention.

[0032] The present invention develops a method for anti-revisit of local optimal solutions to avoid searching regions which contain previously found local optimal solutions. The invention also develops a DDP-based numerical method, which, in combination with the DDP search method, performs a procedure that searches from a local optimal solution to find another local optimal solution in a deterministic manner.

[0033] From a practical viewpoint, the dynamical trajectory-based methodology developed in this invention requires integrating a set of ordinary differential equations (ODE). It was thought by many that ODE solvers are too extensive to be of general use compared with, for example, a conventional Newton-type method. However, their performance is significantly affected by the choice of integration method and the way in which the step size is controlled. When suitably implemented, these methods deserve a place in the mainstream of optimization algorithm development. See, for example, A. A. Brown and M. C. Bartholomew-Biggs, Some effective methods for unconstrained optimization based on the solution of systems of ordinary differential equations, Journal of Optimization Theory and Applications, vol. 62, pp. 211-224, 1989, the complete disclosure of which is hereby incorporated herein by reference.

[0034] The present invention develops a dynamical trajectory-based method, which can incorporate any existing local optimizer (i.e., a method for finding a local optimal solution). Hence, this invention can be applied to guide any existing computer package to find a complete set of local optimal solutions and the global optimal solution. The invention can be programmed to interface with any existing computer package without the need to modify the ‘environment’ of the existing computer package (which includes the graphical user interface data base) to find a complete set of local optimal solutions and the global optimal solution. In particular, this invention imposes no new learning curve for the user in the combined computer package.

SUMMARY OF THE INVENTION

[0035] Briefly stated, a method for obtaining a global optimal solution of general nonlinear programming problems includes the steps of first finding, in a deterministic manner, all stable equilibrium points of a nonlinear dynamical system that satisfies conditions (C1) and (C2), and then finding from said points a global optimal solution.

[0036] In an embodiment of the invention, a practical numerical method for reliably computing a dynamical decomposition point for large-scale systems comprises the steps of moving along a search path φ_(t)(x_(s))≡{x_(s)+t×ŝ, tε

⁺} starting from x_(s) and detecting an exit point, x_(ex), at which the search path φ_(t)(x_(s)) exits a stability boundary of a stable equilibrium point x_(s) using the exit point x_(ex) as an initial condition and integrating a nonlinear system to an equilibrium point x_(d), and computing said dynamical decomposition point with respect to a local optimal solution x_(s) wherein the search direction ŝ is e x_(d).

BRIEF DESCRIPTION OF THE DRAWING

[0037]FIG. 1 shows a schematic wherein it is assumed that there are six local optimal solutions in an unconstrained optimization problem.

[0038]FIG. 2 shows a schematic wherein the six local optimal solutions of FIG. 1 become the stable equilibrium points of a nonlinear dynamical system and each stable equilibrium point has its own quasi-stability region.

[0039]FIG. 3 shows a schematic wherein x⁰ lies inside the quasi-stability region of x_(s) ³, and the hybrid method incorporated in the dynamical trajectory-based methodology finds the local optimal solution x_(s) ³.

[0040]FIG. 4 shows a schematic wherein, starting at the local optimal solution x_(s) ³, the dynamical trajectory-based methodology effectively escapes from the local optimal solution and proceeds to find three points x₀ ¹, x₀ ², x₀ ⁶ which lie inside the quasi-stability region of x_(s) ¹, x_(s) ², x_(s) ⁶ respectively.

[0041]FIG. 5 shows a schematic wherein, starting from the three points x₀ ¹, x₀ ², x₀ ⁶, the hybrid method incorporated in the dynamical trajectory-based methodology finds the local optimal solutions x_(s) ¹, x_(s) ², x_(s) ⁶ respectively.

[0042]FIG. 6 shows a schematic wherein the search path φ_(t)(x_(s)), starting from x_(s) intersects with the quasi-stability boundary of x_(s) at the exit point x_(ex).

[0043]FIG. 7 shows a schematic wherein the exit point x_(ex) is used as the initial condition and integration of the nonlinear system of FIG. 2 to the dynamical decomposition point x_(u) ⁶.

[0044]FIG. 8 shows a schematic wherein the simulated exit point x* is used as an initial condition and integration of the nonlinear system for a few time-steps, say 5.

[0045]FIG. 9 shows a ray connecting the current point on the trajectory and the local optimal solution x_(s). Replace the current point with the corrected exit point which is the (first) local maximal point of objective function along the ray starting from the stable equilibrium point. Assign this point to the exit point.

[0046]FIG. 10 shows a schematic wherein the corrected exit point is used as an initial condition and integration of the nonlinear system for a few time-steps, say 5.

[0047]FIG. 11 shows a ray connecting the current point on the trajectory and the local optimal solution x_(s). Replace the current point with the corrected exit point which is the (first) local maximal point of objective function along the ray starting from the stable equilibrium point. Since the corrected exit point is smaller than a threshold value, then the point is declared as the MDP.

[0048]FIG. 12 shows a schematic wherein the MDP lies inside the convergence region of the dynamical decomposition point x_(u) ⁶ with respect to a nonlinear algebraic solver so that the solver can easily compute find x_(u) ⁶.

[0049]FIG. 13 shows a flow-chart of the overall architecture of the invented dynamical trajectory-based methodology for unconstrained optimization problems. Given an initial point, it generates a comprehensive set of local optimal solutions and the global optimal solution.

[0050]FIG. 14 shows a flow-chart of the invented dynamical trajectory-based methodology for unconstrained optimization problems.

[0051]FIG. 15 shows a flow-chart of the overall architecture of the invented dynamical trajectory-based methodology for constrained optimization problems. Given an initial point, it generates a comprehensive set of local optimal solutions and the global optimal solution.

DETAILED DESCRIPTION OF THE INVENTION EXAMPLE 1

[0052] Global Optimal Methodology for Unconstrained Nonlinear Programming Problems

[0053] Consider a general constrained nonlinear optimization problem of the form:

Minimize C(x)  (4.1)

[0054] where C:

^(n)→

is a bounded below smooth function so that its global minimal solution exists and the number of local minimal solutions are finite.

[0055] Optimal solutions of an objective function C(x) can be formally defined as follows: Let M be the set of feasible regions (i.e., all possible solutions which satisfy the constraints). We say x* is a local minimal solution if and only if x*εM and there exists an ε>0 such that the conditions xεM and ∥x−x* ∥<ε imply C(x)≧C(x*). We say x* is a global minimal solution if and only if x*εM and f(x)≧f(x*) for all xεM.

[0056] There are many (local) optimization methods available that can effectively find local optimal solutions, but not the global one. During their search process, these methods usually get trapped at a local optimal solution and cannot move to another local optimal solution. We maintain that the only reliable way to find the global optimal solution of the optimization problem (see FIG. 1) is to first find all of the local optimal solutions and then find, from them, the global optimal solution. We hence pose the following step:

[0057] Step 1: systematically find all the local optimal solutions of (4.1) in a deterministic manner.

[0058] To this end, we develop in this invention a dynamical trajectory-based methodology to systematically compute all the local optimal solutions of (4.1) via a nonlinear dynamical system that satisfies certain conditions to be discussed later. It thus transforms Step 1 into the following step:

[0059] Step 1: find all the stable equilibrium points of the nonlinear dynamical system that satisfies conditions (C1) and (C2) described below

[0060] We use a simple example to illustrate the main functions of the dynamical trajectory-based methodology. Suppose there are six local optimal solutions in a unconstrained optimization problem (see FIG. 1). These six local optimal solutions become the stable equilibrium points of a nonlinear dynamical system that satisfies conditions (C1) and (C2) and each stable equilibrium point has its own quasi-stability region (see FIG. 2). Starting with an arbitrary initial condition (which in our transformation, it must lie inside the quasi-stability region of a stable equilibrium point), the hybrid method incorporated in the dynamical trajectory-based methodology finds the local optimal solution (i.e., the stable equilibrium point) (see FIG. 3). Given a local optimal solution, the dynamical trajectory-based methodology effectively escapes from the local optimal solution and proceeds to find all the adjacent local optimal solutions, whose corresponding quasi-stability boundary has a non-empty intersection with the quasi-stability boundary of the local optimal solution (see FIG. 4 and FIG. 5). By continuing the above process, starting from the local optimal solutions just found, we find the ‘next’ adjacent local optimal solutions and continue the process until the dynamical trajectory-based methodology indicates that all the local optimal solutions are found.

[0061] Given a constraint on computation time allowed to find the global optimal solution, a good selection of an initial point which is close to the solution enhances the reliability of our inventive methodology in finding the global optimal solution. We propose therefore to employ the well-known “figures of merit” approach (described in Mockus, J. (1994), Application of Bayesian approach to numerical methods of global and stochastic optimization, Journal of Global Optimization, vol. 4, pp. 347-365, the complete disclosure of which is hereby incorporated herein by reference) based on using the stochastic process to determine where to take the initial search points.

[0062] Another distinguishing feature of the dynamical trajectory-based methodology is that it works naturally with existing local optimization methods (i.e., local optimizers) to effectively find local optimal solutions, hence making it feasible to interface computer implementation of this invention with existing local optimizer computer software.

[0063] Guidelines for constructing such a nonlinear dynamical system are developed in the next section.

[0064] Guidelines of Constructing Nonlinear Dynamical Systems

[0065] We review some relevant concepts of nonlinear dynamical systems and then present general guidelines for constructing nonlinear dynamical systems whose trajectories can be utilized to perform Step 1 above.

[0066] Consider a general nonlinear dynamical system, for example, one described by the following set of ordinary differential equations:

{dot over (x)}(t)=F(x(t))  (4.2)

[0067] where F:

^(n)→

^(n) satisfies conditions for the existence and uniqueness of solutions of (4.2). The solution of (4.2) starting from xε

^(n) at t=0 is called a trajectory, denoted by φ_(t)(x):

→

^(n).

[0068] A state vector x*ε

^(n) is called an equilibrium point of system (4.2) if F(x*)=0. We say that an equilibrium point x*ε

^(n) of (4.2) is hyperbolic if the Jacobian matrix of F(•) at x* has no eigenvalues with a zero real part. If the Jacobian of the hyperbolic equilibrium point has exactly k eigenvalue with positive real part, we call it a type-k equilibrium point. It can be shown that for a hyperbolic equilibrium point, it is a (asymptotically) stable equilibrium point if all the eigenvalues of its corresponding Jacobian have a negative real part and an unstable equilibrium point if all the eigenvalues of its corresponding Jacobian have a positive real part. For a type-k hyperbolic equilibrium point x* , its stable and unstable manifolds W^(s)(x*), W^(u)(x*) are defined as follows: ${W^{s}\left( x^{*} \right)} = \left\{ {{x \in {\Re^{n}:{\lim\limits_{t\rightarrow\infty}{\varphi_{t}(x)}}}} = x^{*}} \right\}$ ${W^{u}\left( x^{*} \right)} = \left\{ {{x \in {\Re^{n}:{\lim\limits_{t\rightarrow{- \infty}}{\varphi_{t}(x)}}}} = x^{*}} \right\}$

[0069] where the dimension of W^(u)(x*) and W^(s)(x*) is k and n−k, respectively.

[0070] A set K in

^(n) is called to be an invariant set of (4.2) if every trajectory of (4.2) starting in K remains in K for all tε

. A dynamical system is called completely stable if every trajectory of the system converges to one of its equilibrium points.

[0071] The stability region (or region of attraction) of a stable equilibrium point x_(s) is the collection of all the points whose trajectories all converge to be defined as: ${A\left( x_{s} \right)}:=\left\{ {{x \in {\Re:{\lim\limits_{t\rightarrow\infty}{\varphi_{t}(x)}}}} = x_{s}} \right\}$

[0072] The quasi-stability region A_(p)(x_(s)) of a stable equilibrium point x_(s) is defined as:

A _(p)(x _(s))=int({overscore (A(x_(s))))}

[0073] where {overscore (A(x_(s)))} is the closure of the stability region A(x_(s)), and int({overscore (A(x_(s))))} is the interior of {overscore (A(x_(s)))}. From a topological point of view, A(x_(s)) and A_(p)(x_(s)) are open, invariant, and path-connected sets; moreover, they are diffeomorphic to

.

[0074] There are several ways to construct nonlinear dynamical systems such that some of their system trajectories can be utilized to perform Step 1. We propose the following general guidelines to construct such nonlinear dynamical systems. Systems whose trajectories can be employed to perform Step 1 must satisfy the following two conditions:

[0075] (C1)—every system trajectory converges, and converges to one of the equilibrium points; and

[0076] (C2)—the derivative of the objective function {dot over (C)}(x) of (4.1) along any system trajectory of the nonlinear dynamical system is non-positive; C(x(t))≦0; moreover, if it is a non-trivial trajectory (i.e., x(t) is not an equilibrium point), then the set

{tε

:{dot over (C)}(x(t))=0}

[0077]  along x(t) has a measure zero in

.

[0078] One example of a nonlinear dynamical systems satisfying conditions (C1) and (C2) is the following:

{dot over (x)}(t)=−∇C(x(t))  (4.3)

[0079] where ∇C:

^(n) →

^(n) is the gradient vector of the objective function in equation (4.1). Another example of a nonlinear dynamical system satisfying conditions (C1) and (C2) is the following:

{dot over (x)}(t)=−A(x)∇C(x(t))  (4.4)

[0080] where A(x) is a bounded, positive definite matrix for all xε

^(n) and ∇C:

^(n)→

^(n) is the gradient vector of the objective function in equation (4.1).

[0081] It can be shown that a nonlinear dynamical system satisfying conditions (C1) and (C2) possesses the following properties:

[0082] (P1) the nonlinear dynamical system is completely stable and the limit set of the system is composed of only equilibrium points; in other words, no other types of steady-states exist for the system. (This is derived from condition (C1)).

[0083] (P2) A point, say x_(s) ^(k), is a local optimal solution of the nonlinear optimization problem (4.1) if and only if x_(s) ^(k) is a stable equilibrium point of the nonlinear dynamical system. (This property is derived from conditions (C1) and (C2))

[0084] Property (P2) plays an important role in our dynamical trajectory-based methodology to systematically compute all the local optimal solutions of (4.1). It also transforms Step 1 into the following Step:

[0085] Step 1:find all the stable equilibrium points solutions of the nonlinear dynamical system that satisfy conditions (C1) and (C2).

[0086] Analytical results

[0087] The following analytical results characterize the quasi-stability regions and quasi-stability boundaries of the nonlinear dynamical system that satisfies condition (C1).

[0088] Theorem 4-1:

[0089] Consider a nonlinear dynamical system described in (4.2) that satisfies condition (C1). Let A(x_(s)) be the stability region of x_(s) and A_(p)(x_(s)) be the quasi-stability region of x_(s). If the equilibrium points on the quasi-stability boundary ∂A_(p)(x_(s)) are hyperbolic and finite in number, then it follows that:

[0090] (1) type-one equilibrium points lying on the quasi-stability boundary ∂A_(p)(x_(s)) exist and they are finite in number; and

[0091] (2) let x_(i), i=1,2, . . . be the type-one equilibrium points lying on ∂A_(p)(x_(s)) then the quasi-stability boundary ∂A_(p)(x_(s)) is the union of the closure of the stable manifold of x_(i);i.e. ${\partial{a_{p}\left( x_{s} \right)}} \subseteq {\bigcup\limits_{x_{i} \in {\partial{A_{p}{(x_{s})}}}}\overset{\_}{W^{s}\left( x_{i} \right)}}$

[0092] Furthermore, if the intersections between the stable and unstable manifolds of the equilibrium points on ∂A_(p)(x_(s)) satisfy the transversality condition, then:

[0093] (3) an equilibrium point {overscore (x)} lies on the quasi-stability boundary of x_(s); i.e.,{overscore (x)}ε∂A_(p)(x_(s)) if, and only if, the intersection between the unstable manifold of {overscore (x)} intersects with both the quasi-stability region and the complement of the closure of the quasi-stability region; i.e. W^(u)({overscore (x)})∩A(x_(s))≠└ and W^(u)({overscore (x)})∩{overscore (A(x_(s)))}^(c)≠Ø; and

[0094] (4) {overscore (x)}ε∂A_(p)(x_(s)) if, and only if, W^(s)({overscore (x)})⊂∂A_(p)(x_(s)).

[0095] Motivated by the analytical result (2) of Theorem 4-1, we shall call a type-one equilibrium point lying on the quasi-stability boundary a dynamical decomposition point. Furthermore, given a search path (i.e., a search vector) starting from the stable equilibrium point x_(s) and pointing toward the quasi-stability boundary ∂A_(p)(x_(s)), then the search path must hit it at one point, termed the exit point, before it leaves the quasi-stability region ∂A_(p)(x_(s)) (see FIG. 5). Hence, the dynamical decomposition point with respect to the stable equilibrium point x_(s) and a search path is the unstable equilibrium point whose stable manifold contains the exit point of the search path (i.e., the dynamical decomposition point is the first unstable equilibrium point whose stable manifold is hit by the search path at the exit point). The issue of the uniqueness and existence of the dynamical decomposition point with respect to the stable equilibrium point x_(s) and a search path is assured by Theorem 4-1.

[0096] We next develop analytical results on the dynamical property of dynamical decomposition points.

[0097] Theorem 4-2:

[0098] Consider a nonlinear dynamical system described in (4.2) that satisfies condition (C1). Let ∂A_(p)(x_(s)) be the quasi-stability region of x_(s) and x_(d)ε∂A_(p)(x_(s)) be a dynamical decomposition point. If the intersections between the stable and unstable manifolds of the equilibrium points on ∂A_(p)(x_(s)) satisfy the transversality condition, then there exists another one and only one stable equilibrium point, say {overscore (x)} of (4.2) such that:

[0099] (1) x_(d)ε∂A_(p)({overscore (x_(s))}) is a dynamical decomposition point with respect to {overscore (x)}_(s); and

[0100] (2) W^(u)(x_(d))∩A_(p)(x_(s))≠Ø and W^(u)(x_(d))∩A_(p)({overscore (x_(s)))}≠Ø.

[0101] The task of finding a dynamical decomposition point (DDP) is generally very difficult. This difficulty comes in part from the following complexities:

[0102] (1) the DDP is a particular unstable equilibrium point embedded in a large-degree state-space; and

[0103] (2) the DDP is the first unstable equilibrium point whose stable manifold is hit by the search path (at the exit point).

[0104] The task of computing the DDP is further complicated by the size and the shape of its convergence region. It is known that, with respect to a selected numerical method, each equilibrium point has its own convergence region (i.e., the region from which the sequence generated by the numerical method starting from a point in the region will converge to the equilibrium point.) Due to the ‘small’ size and the irregular shape (fractal-like) of the convergence region of the unstable equilibrium point, the task of computing the DDP is very challenging. If an initial guess is not sufficiently close to the DDP, then the resulting sequence generated by, for example, the Newton method, will diverge or converge to another e.p. Unfortunately, finding an initial guess sufficiently close to the DDP is a difficult task

[0105] A DDP Search Method

[0106] One key contribution of this invention is the development of a practical numerical method for reliably computing dynamical decomposition points for large-scale systems. We first present a conceptual method, followed by a numerical method.

[0107] We consider the nonlinear dynamical system described (4.2) that satisfies condition (C1). Described below is a conceptual method for computing the DDP with respect to the stable equilibrium point x_(s) and a search vector ŝ

[0108] Step 1—Move along the search path φ_(t)(x_(s))≡{x_(s)+t×ŝ, tε

³⁰} starting from x_(s) and detect the exit point, say x_(ex), at which the search path φ_(t)(x_(s)) exits the stability boundary of the stable equilibrium point (i.e. the local optimal solution) x_(s).

[0109] Step 2—Use the exit point x_(ex) as the initial condition and integrate the nonlinear system (4.2) to an equilibrium point. Let the equilibrium point be x_(d).

[0110] Step 3 —The DDP with respect to the local optimal solution x_(s) and the search direction ŝ is e x_(d).

[0111] A numerical implementation of Step 1 of the above conceptual method is presented below.

[0112] A Method for Computing the Exit Point

[0113] Step 1—Move along the search path φ_(t)(x_(s))≡{x_(s)+t×ŝ, tε

⁺} starting from x_(s) and detect the exit point, say x_(ex) which is the first local maximum of the objective function C(x) along the search path φ_(t)(x_(s)).

[0114] A numerical implementation of Step 2 of the above conceptual method, which is an extension of a known method, is presented below:

[0115] A Method for Computing the MDP

[0116] Step 2.1—Use the exit point x_(ex) as the initial condition and integrate the nonlinear system (4.2) to the first local minimum of the norm ∥F(x)∥, where F(x) is the vector of the vector field (4.2). Let the local minimum point be x_(d) ⁰. This point is termed the minimum distance point (MDP).

[0117] Step 2.2 —Use the MDP x_(d,j) ^(i,0) as the initial guess and solve the following set of nonlinear algebraic equations of the vector field (4.2)

F(x)=0

[0118] Let the solution be x_(d). The dynamical decomposition point with respect to the local optimal solution x_(s) and the search path φ_(t)(x_(s)) is x_(d).

[0119] Another numerical scheme to detect the exit point is to compute the inner-product of the search vector and the vector field at each time step. When the sign of the inner-product changes from positive to negative, the exit point is detected. Hence, we propose another numerical method to detect the exit point:

[0120] Move along the search path φ_(t)(x_(s))≡{x_(s)+t ×{overscore (s)}, tε

⁺} starting from x_(s) and at each time-step, compute the inner-product of the search vector ŝ and the vector field F(x). When the sign of the inner-product changes from positive to negative, the exit point is detected.

[0121] However, due to the nature of numerical simulation on a digital computer, the exit point along the search path cannot be calculated exactly (to be the point lying on the stability boundary of the reduced-state system). Consequently, there are two possible locations of the computed exit point along the fault-on trajectory: one is the point before the sign of the inner-product changes and another is after the sign changes. Under normal situations, either one can be used as a simulated exit point. However, there are cases where the calculation of the dynamical decomposition point can be very sensitive to the accuracy of the exit point, and the above method may encounter a numerical convergence problem. To overcome this numerical problem, we propose the following method to improve the accuracy of computing the exit point via a linear interpolation scheme which is described as following.

[0122] An Improved Method for Computing Exit Point

[0123] Suppose that the value of the inner-product at time t₁ is d₁, d₁>0 and the next time-step t₂ results in a negative inner-product d₂<0. Then one linear interpolation is applied to the time interval [t₁, t₂], which leads to an interpolated time t₀⊂[t₁, t₂]: $t_{0} = \frac{{d_{2}t_{1}} - {d_{1}t_{2}}}{d_{2} - d_{1}}$

[0124] Then the inner-product at t₀ is computed accurately as d₀. If the absolute value of d₀ is sufficiently small (close to zero), t₀ will be treated as the instant of the exit point time. If the absolute value of d₀ is not sufficiently small, two possibilities may occur:

[0125] (1) If d₀>0, one more linear interpolation is applied to the time interval [t₀, t₁].

[0126] (2) If d₀<0, one more linear interpolation is applied to the time interval [t₁, t₀].

[0127] The above process can be repeatedly executed until the absolute value of the inner-product at the interpolated time is smaller than a specified tolerance. In summary, a procedure for accurate detection of the exit point by employing the linear interpolation method can be implemented as follows:

[0128] Step 1—Move along the search vector until the inner-product changes sign, say between the interval [t₁, t₂].

[0129] Step 2—Apply the linear interpolation to the interval [t₁, t₂], which produces an intermediate time t₀ where the interpolated inner-product is expected to be zero. Compute the exact inner-product at t₀. If the value is smaller than a threshold value, the exit point is obtained. Exit loop.

[0130] Step 3—If the inner-product is positive, then replace t₁ with t₀; otherwise replace t₂ with t₀ and go to Step 2.

[0131] An Improved Method for Computing MDP

[0132] Two important steps in computing a dynamical decomposition point are the computations of the exit point (EP) and the minimal distance point (MDP). The accuracy of computing a dynamical decomposition point depends on the accuracy of computing the MDP and the EP. A numerical error in computing the exit point will probably cause a numerical difficulty in computing the MDP. Likewise, a numerical error in computing the MDP will probably cause a numerical difficulty in computing the dynamical decomposition point.

[0133] In certain situations where an EP can be at some significant distance from the corresponding dynamical decomposition point, the following numerical difficulties can arise:

[0134] the MDP cannot be numerically found;

[0135] the found MDP is not sufficiently close to the dynamical decomposition point so that the nonlinear algebraic solver either diverges or converges to an incorrect dynamical decomposition point.

[0136] The MDP can be used as an initial guess in the Newton method to compute the dynamical decomposition point. It is however well known that if the MDP is sufficiently close to the dynamical decomposition point, then the sequence generated by the Newton method starting from the MDP will converge to the dynamical decomposition point; otherwise, the sequence may converge to another equilibrium point or diverge.

[0137] To find an adequate MDP for reliably computing the dynamical decomposition point, we develop an effective procedure to guide the search process of the MDP. The procedure is described in the following (see FIGS. 8-11):

[0138] An effective method for computing the MDP

[0139] Step 1—(trajectory generation) Use the exit point as an initial condition and integrate the nonlinear system for a few time-steps, say 5.

[0140] Step 2—(convergence checking) Check the convergence criterion: if the norm of the point (obtained in Step 1) is smaller than a threshold value, then the point is declared as the MDP; otherwise, go to next step.

[0141] Step 3—(corrected exit point) Draw a ray connecting the current point on the trajectory and the local optimal solution (i.e., the stable equilibrium point). Replace the current point with the corrected exit point which is the (first) local maximal point of objective function along the ray starting from the stable equilibrium point. Assign this point to the exit point and go to Step 1.

[0142] The process of checking the zero crossing can be sped up by starting the search from the current point on the trajectory instead of starting from the stable equilibrium point. The sign of the inner-product at the current point determines the direction for starting the local maximal search. Note that the MDP obtained by using the above method is likely to lie inside the convergence region of a dynamical decomposition point with respect to a nonlinear algebraic solver so that the solver can easily find the dynamical decomposition point (see FIG. 12).

[0143] We are now in a position to present a numerical DDP search method for computing the DDP with respect to the stable equilibrium point x_(s) and a search vector ŝ.

[0144] A Numerical DDP Search Method

[0145] Step 1 —Move along the search path φ_(t)(x_(s))≡{x_(s)+t×ŝ,tε

⁺} starting from x_(s) and detect the moment that the inner-product of the search vector ŝ and the vector field F(x) changes sign, say between the interval [t₁, t₂]. Stop this step if t₁ is greater than a threshold value and report that there is no adjacent local optimal solution along this search path; otherwise, go to Step 2.

[0146] Step 2 —Apply the linear interpolation to the interval [t₁, t₂], which produces an intermediate time t₀ where the interpolated inner-product is expected to be zero. Compute the exact inner-product at t₀. If the value is smaller than a threshold value, the exit point is obtained and go to Step 4.

[0147] Step 3 —If the inner-product is positive, then replace t₁ with t₀; otherwise replace t₂ with t₀ and go to Step 2.

[0148] Step 4 —Use the exit point as an initial condition and integrate the nonlinear system for a few time-steps, say 5.

[0149] Step 5 —Check the convergence criterion: if the norm of the point (obtained in Step 4) is smaller than a threshold value, then the point is declared as the MDP and go to Step 7; otherwise, go to next step.

[0150] Step 6 —Draw a ray connecting the current point on the trajectory and the local optimal solution (i.e., the stable equilibrium point). Replace the current point with the corrected exit point which is the (first) local maximal point of objective function along the ray starting from the stable equilibrium point. Assign this point to the exit point and go to Step 4.

[0151] Step 7 —Use the MDP as the initial guess and solve the following set of nonlinear algebraic equations of the vector field (4.2)

F(x)=0

[0152] Let the solution be t_(d). The DDP with respect to the local optimal solution x_(s) and the vector ŝis x_(d).

[0153] A Hybrid Search Method

[0154] The idea of combining two different methods into one method in order to merge their advantages and reduce their disadvantages is well known and widely accepted. The main issue inherent in such a combination is what to merge and how to merge it. The hybrid search method developed and incorporated into the global optimizer in this invention combines the dynamical trajectory method and one effective local method (also termed an effective local optimizer) for finding local optimal solutions such as the Quasi-Newton method or the trust region method (see, e.g., R. H. Byrd, R. B. Schnabel, and G. A. Shultz, A trust region algorithm for nonlinearly constrained optimization, SIAM J Numer. Anal., 24, pp. 1152-1170, 1987, the complete disclosure of which is hereby incorporated herein by reference), as shown in the following. The hybrid method shares the reliability and accuracy of the former method and the computational speed of the latter.

[0155] A Hybrid Search Method

[0156] Initialization: Given an initial point

[0157] Step 1—Integrate the nonlinear dynamical system described by (4.2) that satisfies condition (C1) from the initial point for a few time-steps to get an end point and then update the initial point using the endpoint before going to Step 2.

[0158] Step 2—Apply an effective local optimizer starting from the end point in Step 1 to continue the search process. If it converges, then stop; otherwise, return to Step 1.

[0159] An effective local optimizer (i.e., local optimization method) such as the Quasi-Newton method, the trust region method, or the “hill-climbing” method exploits local information (such as gradient vector and, sometimes, Hessian matrix) to effectively find a local optimal solution. However, each “hill-climbing” method has its own ‘convergent region’ for each local optimal solution. If the initial point does not lie inside the stability region of a local optimal solution, then the method will not find the solution and may diverge. Our dynamical trajectory-based method can bring the initial point inside the convergent region of the local optimal solution and from there the “hill-climbing” method finds the solution. Hence, the hybrid search method enhances the reliability of the “hill-climbing” method while maintaining its computational efficiency in finding the local optimal solution.

[0160] The theoretical basis of the (robust) theory-based hybrid search method is the following:

[0161] the search space

S=∪{overscore (A)} _(p)(x_(s) ^(i)), i=1,2, . . .

[0162] In other words, the search space equals the closure of the quasi-stability region of every stable equilibrium point of the nonlinear dynamical system (4.2). Hence, every point of the search space generically lies inside the quasi-stability region of a stable equilibrium point. Consequently, every trajectory of (4.2) will converge to a stable equilibrium point which is a local optimal solution; in particular, the trajectory after some finite time will stay inside the stability region of a “hill-climbing” method and from there the “hill-climbing” method finds the local optimal solution.

[0163] Deterministic Search for Another Local Optimal Solution

[0164] Two important issues in the search for the global optimal solution are the following:

[0165] (i) how to effectively move (escape) from a local optimal solution and move on toward another local optimal solution;

[0166] (ii) how to avoid revisiting local optimal solutions which are already found; and

[0167] (iii) how to avoid searching regions which contain either no local optimal solutions or previously found local optimal solutions.

[0168] Significant efforts have been directed in the past to attempting to address this issue, but without much success. In this invention, DDP-based search method and anti-revisiting search method to overcome these issues will be developed and incorporated into the dynamical trajectory-based methodology. Dynamical decomposition points play an essential role in the development of these methods. We next show that dynamical decomposition points can be utilized in the development of schemes for the following tasks:

[0169] Step 1—escape from a local optimal solution

[0170] Step 2—guarantee the existence of another local optimal solution

[0171] Step 3—avoid re-visit of the local optimal solution of Step 2

[0172] Step 4—assist in the search of the local optimal solution of Step 2

[0173] Step 5—guarantee the non-existence of another adjacent local optimal solution along a search path.

[0174] We present a numerical method to illustrate how the dynamical decomposition points can be utilized for performing the above five tasks; in particular, a numerical method for performing a procedure, which searches from a local optimal solution to find another local optimal solution in a deterministic manner, is presented below. Let X_(opt) be a local optimal solution.

[0175] Given: a local optimal solution, say x_(opt)

[0176] Purpose: find another local optimal solution

[0177] Step 1—Move along a search path starting from x_(opt) and apply the DDP search method to compute the corresponding DDP and go to Step 2. If a DDP can not be found, then try another search path and repeat this step.

[0178] Step 2—(Anti-revisiting search method)

[0179] Let the DDP be denoted as x_(d). If x_(d) has previously been found, then go to Step 1; otherwise go to Step 3.

[0180] Step 3—(DDP-based numerical method)

[0181] Compute a DDP-based initial point x₀=x_(opt)+(1+ε)(x_(d)−x_(opt)) where ε is a small number. (Note that x₀ lies inside the quasi-stability region of the corresponding adjacent local solution.) Apply the hybrid search method starting from x₀ to find the corresponding adjacent local optimal solution.

[0182] The existence of DDP (by Theorem 4-1) ensures Step 1 is well defined.

[0183] Two different search paths can have the same DDP. If the dynamical decomposition point found in Step 1 is already known, then, according to Theorem 4-2, there is one and only one local optimal solution, in addition to x_(opt), that is related to the dynamical decomposition point x_(d); hence there is no need to search for the other local optimal solution because it must have previously been found. Hence, the scheme in Step 2 provides an anti-revisiting search of a already-known local optimal solution.

[0184] Since the unstable manifold of x_(d) converges to only two stable equilibrium points; x_(opt) and another one, for example, x_(opt) ^(ano), this makes it possible that two local optimal solutions can be connected via the unstable manifold of the same DDP. The scheme in Step 2 again provides the function of an anti-revisiting search of previously found local optimal solutions.

[0185] Given a search path, the existence of a DDP guarantees the existence of another local optimal solution in the direction of the search path. Likewise, the non-existence a DDP guarantees the non-existence of another adjacent local optimal solution in the direction of the search path.

[0186] The basis of the method is described as follows. We treat the problem of how to escape from a local optimal solution of the optimization problem (4.1) and to move on toward another local optimal solution as the problem of how to escape from the quasi-stability region of the corresponding (asymptotically) stable equilibrium point (s.e.p.) of (4.2) and enter into the quasi-stability region of another corresponding s.e.p. of (4.2). It can be shown that the intersection between the closures for the quasi-stability regions of these two s.e.p.s is the stable manifold of a dynamical decomposition point; moreover, the unstable manifold of the dynamic decomposition point connect these two s.e.p.s. Note that once a system trajectory lies inside the stability region of a s.e.p., then the ensuing system trajectory will converge to the s.e.p., which is a local optimal solution of (4.1).

[0187] Global Optimization Method for Unconstrained Nonlinear Programming Problems

[0188] Our inventive methodology for solving unconstrained optimization problems can be applied to solve constrained optimization in the following manner:

[0189] Step 1—use a transformation technique available to transform a constrained optimization problem into an unconstrained optimization problem;

[0190] Step 2—apply our inventive methodology to solve the transformed, unconstrained optimization problem.

[0191] We are now in a position to present the dynamical trajectory-based methodology to systematically compute, starting from an arbitrary initial point, all the local optimal solutions as well as the global optimal solution of (4.1). The architecture of the dynamical trajectory-based methodology is shown in FIG. 13 and its flowchart in FIG. 14.

[0192] Step 1—(Initialization)

[0193] Choose a starting point and set the set of dynamical decomposition points V_(d) ⁰={φ} and the set of local optimal solutions V_(s) ⁰={φ}.

[0194] Step 2—(Find a local optimal solution)

[0195] Apply the theory-based hybrid search method above using the starting point to find a local optimal solution, say x_(s) ⁰, and set j=0 and V_(new) ^(j)={φ}

[0196] Step 3—Set j=j+1. For each local optimal solution in the set V_(new) ^(j), say x_(s) ^(j), perform the following Step 4-Step 6:

[0197] Step 4—(find all the adjacent dynamical decomposition points)

[0198] Define a set of search vectors s_(i) ^(j), i=1,2, . . . ,m

[0199] For each search vector s_(i) ^(j), apply the numerical DDP search method presented above to find the corresponding DDP. Let it be denoted as x_(d,j) ^(i). Set V_(d) ^(j)=V_(d) ^(j)∪{X_(d,j) ^(i)}.

[0200] Step 5—(Assessment of the dynamical decomposition points)

[0201] Examine the set V_(d) ^(j) of all computed dynamical decomposition points and eliminate the same dynamical decomposition points, leaving one in the set.

[0202] Step 6—(Find all the adjacent local optimal solutions)

[0203] For each dynamical decomposition point x_(d,j) ^(i) in the set V_(d) ^(j), do the following steps to find the corresponding adjacent local optimal solution. (Note that only one local optimal solution will be found via each dynamical decomposition point)

[0204] Step 6.1—(compute an effective initial point)

[0205] set x_(0j) ^(i)=x^(s) ^(j)+(1+ε)(x_(d,j) ^(i)−x_(s) ^(j)), where ε is a small number. (Note that x_(0,j) ^(i) lies inside the stability region of the corresponding adjacent local optimal solution)

[0206] Step 6.2—(Initial search)

[0207] Use x_(0,j) ^(i) as the initial condition and integrate the nonlinear system (4.2) to obtain a trajectory φ_(t)(x_(0,j) ^(i)) for a few time steps. (Note that the trajectory φ_(t)(x_(0,j) ^(i)) will converge to the corresponding adjacent local optimal solution.)

[0208] Step 6.3—(hybrid search)

[0209] To improve the speed of the search process to the adjacent local optimal solution, monitor the convergence performance of trajectory φ_(t)(x_(0,j) ^(i)) and properly switch to an effective local optimizer for fast convergence. Let the solution be x_(s,j) ^(k).

[0210] Step 6.4—The local optimal solution with respect to the local optimal solution x_(s) ^(j) and the dynamical decomposition point x_(d,j) ^(i) is x_(s,j) ^(k). Set V_(s) ^(j+1)=V_(s) ^(j) ∪{x_(s,j) ^(k)}.

[0211] Step 7—(Assessment of local optimal solutions)

[0212] Examine the set of all newly computed local optimal solutions, V_(new) ^(j)=V_(s) ^(j+)1 −V_(s) ^(j) and eliminate the redundant ones, if any, leaving one in the set. If the set V_(new) ^(j) is nonempty; and go to Step 3; otherwise go to next step.

[0213] Step 8.—(find the global optimal solution)

[0214] Identify the global optimal solution from the set of local optimal solutions, V_(s) ^(j+1)found in Step 7 by comparing their objective function values.

EXAMPLE 2

[0215] A Global Optimal method for Constrained Nonlinear Programming Problems

[0216] Consider a general constrained nonlinear optimization problem of the form:

[0217] Minimize C(x)

Subject to h _(i)(x)=0, iεI={1,. . . ,l}

g _(j)(x)≦0, jεJ={1,. . . ,s}  (4.5)

[0218] where the objective function C:

^(n)→

is a bounded below smooth function and both the equality constraint function h_(i):

^(n)→

and the inequality constraint function g_(j):

^(n)→

are continuous for all iεI,jεJ.

[0219] The constraint set of (4.5) defines the following

CS={xε

^(n) :h _(i)(x)=0,iεI,g _(j)(x)≦0,jεJ}  (4.6)

[0220] which can be any closed subset of

^(n) and its structure can be very complex. The set CS is usually non-convex and disconnected; i.e., it is composed of several (disjoint) connected feasible regions. The task of locating each connected feasible region of the set CS is itself a difficult one.

[0221] We can express the inequalities in (4.5) as the equalities g_(j)(x)+s_(j) ²=0,jεJ via the introduction of slack variables s_(j). Other transformation techniques which reduce the original primal problem (4.5) to an optimization problem without inequality constraints such as (4.7) below can also be used. Hence, we consider, without loss of generality, the following optimization problem with equality constraints:

[0222] Minimize C(x)

Subject to h _(i)(x)=0, iεI={1, . . . ,l }  (4.7)

[0223] We also define the following equality vector

H(x):=(h ₁(x),. . . h _(m)(x))^(T).

[0224] Under some generic conditions, it can be shown that the following constraint set, also termed feasible set, or feasible region

M={xε

^(n) :H(x):=h ₁(x), . . . h _(m)(x))^(T)=0}  (4.8)

[0225] is a smooth manifold. In general, the constraint set M can be very complicated with several disjoint path-connected feasible components; in other words, the constraint set M can be decomposed into several disjoint path-connected, feasible components, say, $M = {\sum\limits_{k}M_{k}}$

[0226] where each M_(k) is a path-connected feasible component. Each path-connected component may contain several local optimal solutions of the optimization problem.

[0227] There are several (local) optimization methods available that can effectively find local optimal solutions of constrained optimization problems (4.5) but not the global one. During their search process, these methods usually get trapped at a local optimal solution and can not move to another local optimal solution. We maintain that the only reliable way to find the global optimal solution of the constrained nonlinear optimization problem (4.5) can be effectively executed via the following two tasks

[0228] Step 1—finding all the feasible components, M_(k), k=1, 2, . . .

[0229] Step 2—finding all the local optimal solutions in each feasible component.

[0230] In this invention, we develop a numerical two-phase dynamical trajectory-based methodology to systematically compute all the local optimal solutions of (4.5). The key function of each phase is as follows:

[0231] Phase I: starting from an arbitrary initial point, it systematically finds all the feasible components M_(k)'s of the constraint (feasible) set M based on the trajectories of one dynamical system described by the following general form

{dot over (x)}(t)=F ₁(x(t))  (4.9)

[0232] Phase II: it finds all the local optimal solutions in each feasible component of the constraint set M based on the trajectories of another dynamical system described by the following general form

{dot over (x)}(t)=F _(II)(x(t))  (4.10)

[0233] Guidelines of constructing nonlinear dynamical systems

[0234] We review some relevant concepts of nonlinear non-hyperbolic dynamical systems and then present general guidelines for constructing nonlinear dynamical systems whose trajectories can be utilized to perform Step 1 and Step 2.

[0235] Mathematical Preliminaries

[0236] We now consider a nonlinear non-hyperbolic dynamical system described by

{dot over (x)}(t)=F(x(t))=M(x)H(x)  (4.11)

[0237] where H:

^(n)→

^(m) and M:

^(n)→

^(n×m), n≧m, satisfy the sufficient conditions for the existence and uniqueness of solutions. The zero set E_(F)≡F⁻¹(0) usually consists of several path-connected components.

[0238] A path-connected (compact) component of the zero set F⁻¹(0), say Σ, is called an equilibrium manifold of system (4.11). We say that an equilibrium manifold Σ of (4.11) is 1-dimensional if there exists an ε>0 such that φ_(∞):B_(e)(Σ) →Σ is locally homeomorphic to a projection from

^(n) to

^(l). We say that an equilibrium manifold Σ of (4.11) is hyperbolic if for each xεΣ, the Jacobian of N_(H) at x, denoted by J_(NH)(x), has no eigenvalues with a zero real part on the normal space N_(x)(Σ), the orthogonal complement of the tangent space T_(x)(Σ), of Σ at x in

^(n). For a hyperbolic equilibrium manifold Σ, it is a (asymptotically) stable equilibrium manifold if for each xεΣ, all the eigenvalues of its corresponding Jacobian on N_(x). (Σ) have a negative real part; it is an unstable equilibrium manifold if for each xεΣ, all the eigenvalues of its corresponding Jacobian on N_(x)(Σ) have a positive real part.

[0239] For a hyperbolic equilibrium manifold Σ, its stable and unstable manifolds W_(F) ^(s)(Σ), W_(F) ^(u)(Σ) are defined as follows: ${W_{F}^{s}(\Sigma)} = \left\{ {x \in {\Re^{n}:{{\lim\limits_{t\rightarrow\infty}{\varphi_{F}\left( {t,x} \right)}} \in \Sigma}}} \right\}$ ${W_{F}^{u}(\Sigma)} = \left\{ {x \in {\Re^{n}:{{\lim\limits_{t\rightarrow{- \infty}}{\varphi_{F}\left( {t,x} \right)}} \in \Sigma}}} \right\}$

[0240] The stability region of a stable equilibrium manifold Σ_(s) defined as ${A_{F}\left( \underset{s}{\Sigma} \right)}:=\left\{ {x \in {\Re^{n}:{{\lim\limits_{t\rightarrow\infty}{\varphi_{F}\left( {t,x} \right)}} \in \underset{s}{\Sigma}}}} \right\}$

[0241] Guidelines

[0242] There are several ways to construct nonlinear dynamical systems for performing Step 1 and Step 2. We propose the following guidelines to construct such nonlinear dynamical systems. Nonlinear dynamical system whose trajectories can be utilized to develop computational schemes for performing Step 1 must satisfy the following two conditions:

[0243] (C1-1) Every system trajectory converges and converges to one of the equilibrium manifolds; and

[0244] (C1-2) A set is a stable equilibrium manifold of the nonlinear dynamical system if and only if the set is a path-connected feasible component of the constrained nonlinear optimization problem (4.7).

[0245] Note that the condition (C1-1) implies that the limit set of the nonlinear dynamical system is composed of only equilibrium manifolds and no other types of steady-states, such as limit cycles and chaos exist in the system. Conditions (C1-1) and (C 1-2) together ensure that almost every trajectory of the nonlinear dynamical system converges to a path-connected feasible component of the constrained optimization problem (4.7).

[0246] Nonlinear dynamical system whose trajectories can be utilized to develop computational schemes for performing Step 2 must satisfy the following two conditions:

[0247] (C2-1) Every system trajectory converges and converges to one of the equilibrium points.

[0248] (C2-2) A point, say x_(s,j) ^(k) is a local optimal solution lying in the feasible component M_(k) of the nonlinear optimization problem if and only if x_(s,j) ^(k) is an asymptotically stable equilibrium point and M_(k) is an invariant set of the nonlinear dynamical system.

[0249] Note that condition (C2-1) implies that the limit set of the nonlinear dynamical system for performing task 2 is composed of only equilibrium points and no other types of steady-states can exist in the nonlinear system. Condition (C2-2) ensures that the system trajectory stays, during the process of searching for another local optimal solution, in the feasible component M_(k) so that the constraint set is always satisfied.

[0250] One example of nonlinear dynamical systems satisfying conditions (C1-1) and (C1-2) is the following

{dot over (x)}=−DH(x)^(T) H(x)  (4.12)

[0251] where the vector H(x) is constraint vector which defines the feasible region.

[0252] One example of nonlinear dynamical systems satisfying conditions (C2-1) and (C2-2) is the following dynamical system:

{dot over (x)}(t)=−P _(H)(x(t))∇C(x(t))  (4.13)

[0253] where the projection matrix

P _(H)(x)=(I−DH(x)^(T)(DH(x)DH(x)^(T))⁻¹ DH(x))ε

^(n×n)

[0254] is a positive semi-definite matrix for every xεM. Note that P_(H)(X)∇C(x) is the orthogonal projection of ∇C(x) to the tangent space T_(x)M which means P_(H)(x)∇C(x)εT_(x)M for all xεM. Note that every trajectory of (4.13) starting from X₀εM_(k) stays in M_(k). In other words, M_(k) is an invariant set of (4.13). Note that the projection matrix P_(H)(x) is associated with the constraint set characterized by H(x)

[0255] Two-phase Dynamical Trajectory-based Methodology

[0256] This invention develops a two-phase dynamical trajectory-based methodology to systematically compute all the local optimal solutions of constrained (continuous) nonlinear optimization problems (4.7). The dynamical trajectory-based methodology consists of two distinct phases: In Phase I, starting from an arbitrary starting point, it systematically finds all the feasible components which satisfy the constraint set. In Phase II, it computes all the local optimal solutions in each feasible component found in phase I of the dynamical trajectory-based methodology.

[0257] Phase I

[0258] Phase I of the dynamical trajectory-based methodology finds all the feasible components via some trajectories of a nonlinear dynamical system. In order to visit each path-connected feasible component of the constraint set M, there are two main steps in Phase I.

[0259] Step 1.1—approach a path-connected feasible component of the constrained optimization problem (4.7).

[0260] Step 1.2—escape from the path-connected feasible component and approach another path-connected feasible component of the constrained optimization problem (4.7).

[0261] We propose to design a nonlinear dynamical system (4.9) which satisfies conditions (C1-1) and (C1-2). We then exploit some system trajectories to develop schemes for performing Step 1.1 & Step 1.2. The central idea in designing the nonlinear dynamical system (4.9) is that every path-connected feasible component M_(k) corresponds to a stable equilibrium manifold of the nonlinear dynamical system. In this way, the task of finding all the path-connected feasible components of the constrained optimization problem (4.7) can be accomplished via finding all the stable equilibrium manifolds of the nonlinear dynamical system (4.9) which satisfies conditions (C1-1) and (C1-2).

[0262] It can be shown that each feasible component of the optimization problem (4.7) can be located via each stable equilibrium manifold of the nonlinear dynamical system (4.9). To numerically implement Phase I of the methodology, the following two tasks are implemented:

[0263] Step 1.1—approach a stable equilibrium manifold of the nonlinear dynamical system (4.9).

[0264] Step 1.2—escape from the stable equilibrium manifold and approach another stable equilibrium manifold of the nonlinear dynamical system (4.9).

[0265] Step 1.1 can be implemented numerically by following the trajectory of the nonlinear dynamical system (4.9) starting from any initial point (which can be an infeasible point of the optimization problem (4.7)), to a point located in a stable equilibrium manifold of system (4.9) (i.e., a point located in a feasible component of the optimization problem (4.7)). Step 1.2 can be implemented numerically by following the trajectory in reverse time starting from an initial point in the stable manifold of system (4.9) until the trajectory approaches a point in a unstable equilibrium manifold on the stability boundary of the stable equilibrium manifold of (4.9); then by following the trajectory starting from an initial point, which is close to the unstable equilibrium manifold but outside the stability region, until it approaches another stable equilibrium manifold of (4.9), which is another feasible component of the optimization problem (4.7).

[0266] Phase II

[0267] Phase II of the two-phase dynamical trajectory-based methodology finds all the local optimal solutions in each feasible component based on the trajectories of the nonlinear dynamical system (4.10) which satisfies conditions (C2-1) and (C2-2). In order to visit all the local optimal solutions located in each feasible component, there are two main steps in Phase II:

[0268] Step 2.1—starting from a point in the feasible component found in Phase I, approach a local optimal solution located in the feasible component of the optimization problem (4.7).

[0269] Step 2.2—escape from the local optimal solution and approach another local optimal solution of the same feasible component of the optimization problem (4.7).

[0270] We propose to design a nonlinear dynamical system (4.10) which satisfies conditions (C2-1) and (C2-2). We then exploit some system trajectories to develop schemes for performing Step 2.1 & Step 2.2. The key idea in designing the nonlinear dynamical system (4.10) is that all the local optimal solutions of the optimization problem (4.7) corresponds to all the stable equilibrium points of the nonlinear dynamical system (4.10); in particular every local optimal solution of the optimization problem (4.7) corresponds to a stable equilibrium point of the nonlinear dynamical system (4.10) which satisfies conditions (C2-1) and (C2-2). In this way, the task of finding all the path-connected feasible components of the constrained optimization problem (4.7) can be accomplished via finding all the stable equilibrium points of the nonlinear dynamical system (4.10) which satisfies conditions (C2-1) and (C2-2).

[0271] To implement numerically Phase II of the methodology, the following three tasks are proposed:

[0272] Step 2.1—Find a stable equilibrium point of the nonlinear dynamical system (4.10).

[0273] Step 2.2—Move from the stable equilibrium point to a dynamical decomposition point (in order to escape from the local optimal solution)

[0274] Step 2.3—Approach another stable equilibrium point of the nonlinear dynamical system (4.10) (in the same path-connected feasible component) via the dynamical decomposition point.

[0275] We use a hybrid search method for the numerical implementation of Step 2.1 starting from any initial point located in a feasible component. Step 2.2 can be implemented numerically by applying the (numerical) dynamical decomposition point method presented herein. Step 2.3 can be implemented numerically by applying the DDP-based numerical method, in combination with the hybrid search method, to find another local optimal solution, to which the unstable manifold of the DDP converges.

[0276] Since each path-connected feasible component is an invariant set of the nonlinear dynamical system (4.10), every trajectory starting from any point in the component, say M_(k), stays in M_(k) for both positive and negative time. Hence, Phase II of the dynamical trajectory-based methodology only finds all the local optimal solutions in the path-connected component; but not those in other path-connected components. To find the local optimal solutions located in other path-connected feasible components, one needs to invoke phase I again to move from one feasible component of the feasible region and approach another feasible component.

[0277] In summary, the dynamical trajectory-based methodology consists of two distinct phases: in Phase I, starting from an arbitrary starting point, it systematically finds all the feasible components which satisfy the constraint set. In Phase II, it computes all the local optimal solutions in each feasible component found in Phase I of the dynamical trajectory-based methodology. By alternating between Phase I and Phase II of the dynamical trajectory-based methodology (hence by switching between the nonlinear dynamical system (4.9) and the nonlinear dynamical system (4.10), all the local optimal solutions of the constrained optimization problem (4.7) can thus be found.

[0278] A Hybrid Search Method

[0279] The hybrid search methods for Phase I and for Phase II were developed and incorporated into the global optimizer in this invention. They combine the dynamical trajectory method and one effective local method for finding feasible components (Phase I) and for local optimal solutions (Phase II). The hybrid method shares the reliability and accuracy of the former method and the computational speed of the latter.

[0280] A Hybrid Search Method for Phase I

[0281] Initialization: Given an initial point

[0282] Step 1—Integrate the nonlinear dynamical system described by (4.9) that satisfies condition (C1-1) from the initial point for a few time-steps to get an end point and then update the initial point using the endpoint before going to Step 2.

[0283] Step 2.—Apply an effective local optimizer to find a feasible component, starting from the end point in Step 1 to continue the search process. If it converges, then stop; otherwise, return to Step 1.

[0284] A Hybrid Search Method for Phase II

[0285] Initialization: Given an initial point lying in a feasible component

[0286] Step 1—Integrate the nonlinear dynamical system described by (4.10) that satisfies condition (C2-1) from the initial point for a few time-steps to get an end point and then update the initial point using the endpoint before going to Step 2.

[0287] Step 2—Apply an effective local optimizer to find a local optimal solution, starting from the end point in Step 1 to continue the search process. If it converges, then stop; otherwise, return to Step 1.

[0288] A Global Optimization Method for Constrained Nonlinear Programming Problems

[0289] We are now in a position to present the two-phase dynamical trajectory-based methodology to systematically compute, starting from an arbitrary initial point, all the local optimal solutions as well as the global optimal solution of (4.7). The architecture of the dynamical trajectory-based methodology is shown in FIG. 13. The procedure of Phase II is similar to that of the global optimization method for unconstrained nonlinear programming problems described above. In addition, the procedure of Phase I is also similar to that of the global optimization method for unconstrained nonlinear programming problems, except that the role of stable equilibrium manifold replaces the role of stable equilibrium point and that the role of unstable equilibrium manifold replaces the role of dynamical decomposition point.

[0290] A Numerical Method for Phase I

[0291] Step 1.—(Initialization)

[0292] Choose a starting point and set the set of dynamical decomposition points V_(d) ⁰={φ} and the set of local optimal solutions V_(s) ⁰={φ}.

[0293] Step 2—(Find a path-connected feasible component)

[0294] Apply the hybrid search method using the starting point to find a point in a path-connected feasible component. Set the point found as an initial point.

[0295] Step 3.—(find all the local optimal solutions in the path-connected feasible component)

[0296] Starting from the initial point apply the numerical method for Phase II (shown below) to find all the local optimal solutions in the path-connected feasible component.

[0297] Step 4—find all the adjacent unstable equilibrium manifolds)

[0298] Define a set of search vectors s_(i) ^(j), i=1,2, . . . ,K

[0299] For each search vector s_(i) ^(j), apply the reverse-time trajectory method to find a point lying in an unstable equilibrium manifold. If a point is found, let it be denoted as x_(d,j) ^(i) and go to Step 5; otherwise go to Step 6.

[0300] Step 5—(Find all the adjacent stable equilibrium manifolds, i.e., feasible components)

[0301] For each point x_(d,j) ^(i) found in Step 4, do the following steps to find a point in a (path-connected) feasible component.

[0302] Step 5.1—(compute an effective initial point)

[0303] set x_(0,j) ^(i)=x_(s) ^(j)+(1+ε)(x_(d,j) ^(i)−x_(s) ^(j)), where ε is a small number and x_(s) ^(j) is a local optimal solution found in Step 3. (Note that x_(0,j) ^(i) lies inside the stability region of the corresponding adjacent stable equilibrium manifold)

[0304] Step 5.2—(Initial search)

[0305] Use x_(0,j) ^(i) as the initial condition and integrate the nonlinear system (4.9) to obtain a trajectory φ_(t)(x_(0,j) ^(i)) for a few time steps. (Note that the trajectory φ_(t)(x_(0,j) ^(i)) will converge to the corresponding stable equilibrium manifold).

[0306] Step 5.3—(hybrid search)

[0307] Apply the hybrid search method using the end point of Step 5.2 as an initial point for fast convergence to a point lying in a stable equilibrium manifold. Let the solution be x_(s,j) ^(k) and set it as an initial point, go to Step 3.

[0308] Step 6—(find the global optimal solution)

[0309] Identify the global optimal solution from the set of local optimal solutions found in Step 3 by comparing their objective function values.

[0310] A Numerical Method for Phase II

[0311] Step 1.—(Initialization)

[0312] Set the set of dynamical decomposition points V_(d) ⁰={φ}and the set of local optimal solutions V_(s) ⁰={φ}.

[0313] Step 2.—(Find a local optimal solution)

[0314] Apply the hybrid search method for Phase II of starting from the initial point to find a local optimal solution, say x_(s), and set j=0 and V_(new) ^(j)={x_(s)}.

[0315] Step 3—Set j=j+1. For each local optimal solution in the set V_(new) ^(j), say x_(s) ^(j), perform the following Step 4-Step 6:

[0316] Step 4—(find all the adjacent dynamical decomposition points)

[0317] Define a set of search vectors s_(i) ^(j), i=1,2, . . . ,m

[0318] For each search vector s_(i) ^(j), apply the numerical DDP search method presented in Sec. 4.1.3 except that the nonlinear dynamical system (4.10) is employed instead to find the corresponding DDP. Let it be denoted as x_(d,j) ^(i). Set V_(d) ^(j=V) _(d) ^(j)∪{x_(s,j) ^(k)}.

[0319] Step 5—(Assessment of the dynamical decomposition points)

[0320] Examine the set V_(d) ^(j) of all computed dynamical decomposition points and eliminate the same dynamical decomposition points, leaving one in the set.

[0321] Step 6—(Find all the adjacent local optimal solutions)

[0322] For each dynamical decomposition point x_(d,j) ^(i) in the set V_(d) ^(j), do the following steps to find the corresponding adjacent local optimal solution.

[0323] Step 6.1—(compute an effective initial point)

[0324] Set x_(0,j) ^(i)=x_(s) ^(j)+(1+ε)(x_(d,j) ^(i)−x_(s) ^(j)), where ε is a small number. (Note that x_(0,j) ^(i) lies inside the stability region of the corresponding adjacent local optimal solution)

[0325] Step 6.2—(Initial search)

[0326] Use x_(0,j) ^(i) as the initial condition and integrate the nonlinear system (4.10) to obtain a trajectory φ_(t)(x_(0,j) ^(i)) for a few time steps. (Note that the trajectory φ_(t)(x_(0,j) ^(i)) will converge to the corresponding adjacent local optimal solution.)

[0327] Step 6.3—(hybrid search)

[0328] Apply the hybrid search method using the end point of Step 6.2 as an initial point for fast convergence to a local optimal solution. Let the solution be x_(s,j) ^(k).

[0329] Step 6.4—The local optimal solution with respect to the local optimal solution x_(s) ^(j) and the dynamical decomposition point x_(d,j) ^(i) is x_(s,j) ^(k). Set V_(s) ^(j+1)=V_(s) ^(j)∪{x_(s,j) ^(k)}.

[0330] Step 7—(Assessment of local optimal solutions)

[0331] Examine the set of all newly computed local optimal solutions, V_(new) ^(j)=V_(s) ^(j+1)−V_(s) ^(j)and eliminate the redundant ones, if any, leaving one in the set. If the set V_(new) ^(j) is non-empty; and go to Step 3; otherwise stop.

[0332] Accordingly, it is to be understood that the embodiments of the invention herein described are merely illustrative of the application of the principles of the invention. Reference herein to details of the illustrated embodiments is not intended to limit the scope of the claims, which themselves recite those features regarded as essential to the invention. 

What is claimed is:
 1. A method for obtaining a global optimal solution of general nonlinear programming problems, comprising the steps of: a) in a deterministic manner, first finding all local optimal solutions; and b) then finding from said local optimal solutions a global optimal solution.
 2. A method for obtaining a global optimal solution of general nonlinear programming problems, comprising the steps of: a) in a deterministic manner, first finding all stable equilibrium points of a nonlinear dynamical system that satisfies conditions (C1) and (C2); and b) then finding from said points a global optimal solution.
 3. A practical numerical method for reliably computing a dynamical decomposition point for large-scale systems, comprising the steps of: a) moving along a search path φ_(t)(x_(s))≡{x_(s)+t×ŝ, tε

⁺} starting from x_(s) and detecting an exit point, x_(ex), at which said search path φ_(t)(x_(s)) exits a stability boundary of a stable equilibrium point x_(s); b) using said exit point x_(ex) as an initial condition and integrating a nonlinear system (4.2) to an equilibrium point x_(d); and c) computing said dynamical decomposition point with respect to a local optimal solution x_(s) wherein said search direction ŝ is e x_(d).
 4. The method of claim 3, wherein a method for computing said exit point comprises the step of: moving along said search path φ_(t)(x_(s))≡{x_(s)+t×ŝ, tε

⁺} starting from x_(s) and detecting said exit point x_(ex), which is a first local maximum of an objective function C(x) along said search path φ_(t)(x_(s)).
 5. The method of claim 3, wherein a method for computing a minimum distance point (MDP) comprises the steps of: a)using said exit point x_(ex) as an initial condition and integrating a nonlinear system (4.2) to a first local minimum of a norm ∥F(x)∥, where F(x) is a vector of a vector field (4.2), and a local minimum point is x_(d) ⁰; b) using said MDP x_(d,j) ^(i,0) as an initial guess and solving a set of nonlinear algebraic equations of said vector field (4.2) F(x)=0, wherein a solution is x_(d), and a dynamical decomposition point with respect to the local optimal solution x_(s) and said search path φ_(t)(x_(s)) is x_(d).
 6. The method of claim 3, wherein a method for computing said exit point comprises the step of computing an inner-product of said search vector and vector field at each time step, by moving along said search path φ_(t)(x_(s))≡{x_(s)+t×ŝ, tε

⁺} starting from x_(s) and at each time-step, computing an inner-product of said search vector ŝ and vector field F(x), such that when a sign of said inner-product changes from positive to negative, said exit point is detected.
 7. The method of claim 3, wherein a method for computing said exit point comprises the step of: a) moving along said search vector until an inner-product changes sign between an interval [t₁,t₂]; b) applying a linear interpolation to an interval [t₁, t₂], which produces an intermediate time t₀ where an interpolated inner-product is expected to be zero; c) computing an exact inner-product at t₀, such that if said value is smaller than a threshold value, said exit point is obtained; and d) if said inner-product is positive, then replacing t₁ with t₀, and otherwise replacing t₂ with t₀ and going to step b).
 8. The method of claim 3, wherein a method for computing a minimum distance point (MDP) comprises the steps of: a) using said exit point as an initial condition and integrating a nonlinear system for a few time-steps; b) checking convergence criterion, and, if a norm of said exit point obtained in step a) is smaller than a threshold value, then said point is declared as said MDP, and otherwise, going to step b); c) drawing a ray connecting a current point on a trajectory and a local optimal solution, replacing said current point with a corrected exit point, which is a first local maximal point of objective function along said ray, starting from a stable equilibrium point, and assigning this point to said exit point and going to step a).
 9. The method of claim 3, wherein a method for computing said dynamical decomposition point with respect to a stable equilibrium point x_(s) and a search vector ŝ, comprises the steps of: a) moving along said search path φ_(t)(x_(s))≡{x_(s)+t×ŝ,tε

⁺} starting from x_(s) and detecting a moment that an inner-product of said search vector ŝ and vector field F(x) changes sign, between an interval [t₁,₂], stopping this step if t₁ is greater than a threshold value and reporting that there is no adjacent local optimal solution along this search path, and otherwise, going to step b); b) applying linear interpolation to said interval [t₁,t₂], which produces an intermediate time t₀ where said interpolated inner-product is expected to be zero, computing an exact inner-product at t₀, and if said value is smaller than a threshold value, said exit point is obtained, and going to step d); c) if said inner-product is positive, then replacing t₁ with t₀, and otherwise replacing t₂ with t₀ and going to step b); d) using said exit point as an initial condition and integrating a nonlinear system for a few time-steps; e) checking convergence criterion, and if a norm of said point obtained in step d) is smaller than a threshold value, then said point is declared as the MDP and going to step g), and otherwise going to step e); f) drawing a ray connecting a current point on said trajectory and a local optimal solution, replacing said current point with a corrected exit point which is a first local maximal point of objective function along said ray starting from a stable equilibrium point, and assigning this point to said exit point and going to Step d); and g) using said MDP as an initial guess and solving a set of nonlinear algebraic equations of the vector field (4.2) F(x)=0, wherein a solution is t_(d), such that said DDP with respect to a local optimal solution x_(s) and vector ŝ is x_(d).
 10. The method of claim 3, wherein at least one effective local search method is combined with said dynamical trajectory method of claim 3, comprising the steps of: a) given an initial point, integrating a nonlinear dynamical system described by (4.2) that satisfies condition (C1) from an initial point for a few time-steps to get an end point and then updating said initial point using an endpoint, before going to step b); b) applying an effective local optimizer starting from said end point in step a) to continue the search process., and if it converges, then stopping, or otherwise, returning to step a).
 11. The method of claim 3, wherein said method is used to accomplish a result selected from the group consisting of: a) escaping from a local optimal solution; b) guaranteeing the existence of another local optimal solution; c) avoiding re-visit of a local optimal solution of step b); d) assisting in searching a local optimal solution of step b); and e) guaranteeing non-existence of another adjacent local optimal solution along a search path.
 12. The method of claim 3, wherein a numerical method for performing a procedure, which searches from a local optimal solution to find another local optimal solution in a deterministic manner, comprises the steps of: a) moving along a search path starting from x_(opt) and applying said DDP search method to compute a corresponding DDP, and going to step b), and if a DDP can not be found, then trying another search path and repeating this step; b) letting said DDP be denoted as x_(d)., and if x_(d) has previously been found, then going to step a), otherwise going to step c); c) computing a DDP-based initial point x₀=x_(opt)+(1+ε)(x_(d)−x_(opt)) where ε is a small number, and applying a hybrid search method starting from x₀ to find a corresponding adjacent local optimal solution. 